package com.example.ordersystem.dao;

import com.example.ordersystem.domain.Category;
import org.apache.ibatis.annotations.*;

import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
@Mapper
public interface CategoryDAOByMybatis {

    /**
     * 查询所有的分类
     * @return 以列表形式返回所有分类信息
     */
    @Select("select num,name from category")
    List<Category> findAllCategories();

    /**
     * 查询所有的分类名称
     * @return 所有分类名称
     */
    @Select("select name from category")
    List<String> findAllCategoryNames();

    /**
     * 根据分类编号,删除分类
     * @param num 分类编号
     */
    @Delete("delete from category where num=#{num}")
    int deleteByNum(@Param("num") String num);

    /**
     * 添加一个新的分类
     * @param category 分类名称
     */
    @Insert("insert into category(num,name) values(#{num},#{name})")
    @Options(useGeneratedKeys = true, keyProperty = "num", keyColumn = "num")
    int addCategory(Category category);
}
